import json
import datetime
from ast import literal_eval

def convert_to_standard_json(input_data):
    """
    将包含datetime对象和字符串JSON的复杂结构转换为标准JSON格式
    
    参数:
        input_data: 输入的数据结构
        
    返回:
        标准JSON格式的字符串
    """
    def default_serializer(obj):
        """处理无法直接序列化的对象"""
        if isinstance(obj, datetime.datetime):
            return obj.isoformat()
        elif isinstance(obj, bytes):
            return obj.decode('utf-8')
        raise TypeError(f"Object of type {type(obj)} is not JSON serializable")
    
    def parse_string_json(data):
        """尝试解析字符串形式的JSON"""
        if isinstance(data, str):
            try:
                # 替换单引号为双引号以便JSON解析
                data = data.replace("'", '"')
                # 处理None值
                data = data.replace('None', 'null')
                # 处理datetime对象
                data = data.replace('datetime.datetime', '"datetime"')
                return json.loads(data)
            except (json.JSONDecodeError, ValueError):
                try:
                    # 尝试使用literal_eval作为备选方案
                    return literal_eval(data)
                except:
                    return data
        return data
    
    def deep_convert(data):
        """递归处理数据结构"""
        if isinstance(data, dict):
            return {k: deep_convert(v) for k, v in data.items()}
        elif isinstance(data, (list, tuple)):
            return [deep_convert(v) for v in data]
        else:
            return parse_string_json(data)
    
    try:
        # 深度转换数据结构
        converted_data = deep_convert(input_data)
        
        # 序列化为JSON
        return json.dumps(converted_data, indent=4, ensure_ascii=False, default=default_serializer)
    
    except Exception as e:
        return json.dumps({"error": str(e)}, indent=4, ensure_ascii=False)

# 示例输入数据
# input_data = {"code":200,"success":True,"data":[{"response":"[{'id': 10, 'animal_name': '白枕鹤', 'animal_latin_name': 'Grus japonensis', '科': ' 鹤科 ', '属': ' 鹤属', '门': '脊索动物门', '纲': '鸟纲', '目': ' 鹤形目 ', '种': None, '保护等级': '一级', 'permission': 3, 'create_time': datetime.datetime(2024, 11, 22, 9, 26, 31), 'update_time': datetime.datetime(2024, 12, 27, 13, 29, 11), '详情描述': '白枕鹤又叫红脸鹤、红面鹤，是大型涉禽。虹膜暗褐色，嘴黄绿色，脚红色。前额、头顶前部、眼先、头的侧部以及眼睛周围的皮肤裸出，均为鲜红色，其上着生有稀疏的黑色绒毛状羽。耳羽为烟灰色。头顶的后部、枕部、后颈、颈侧和前颈的上部形成一条暗灰色条纹，颊部和喉部为白色。颈侧和前颈的下部以及下体呈暗石板灰色。上体为石板灰色。尾羽为暗灰色，末端具有宽阔的黑色横斑。翅膀上的初级飞羽为黑褐色，具有白色的羽干纹，次级飞羽也是黑褐色，基部白色，三级飞羽为淡灰白色，延长成弓状，翅膀上的覆羽为灰白色，初级覆羽黑色，末端白色。大小量度：体重♂4750-5120克，♀5150-6500克；体长♂1200毫米，♀1180-1500毫米；嘴峰♂128-155毫米，♀128-153毫米；翅♂510-585毫米，♀521-568毫米；尾♂181毫米，♀195-202毫米；跗蹠♂242-262毫米，♀230-265毫米。\\n白枕鹤栖息于开阔的平原芦苇沼泽和水草沼泽地带，也栖息于开阔的河流及湖泊岸边，以及邻近的沼泽草地，有时出现于农田和海湾地区，尤其是迁徙季节。\\n食性：白枕鹤主要以植物种子、草根、嫩叶、嫩芽、谷粒、鱼、蛙、蜥蜴、蝌蚪、虾、软体动物和昆虫等为食。取食时主要用喙啄食，或用喙先拨开表层土壤，然后啄食埋藏在下面的种子和根茎，边走边啄食。白天多数时间用于觅食，非常警觉，通常在啄食几次后就抬头观望四周，一有惊扰，则立刻避开或飞走。\\n习性：除繁殖期成对活动外，多成家族群或小群活动，偶尔也见单独活动的，迁徙和越冬期间则多由数个或10多个家庭群组成的大群活动。行动机警，很远见人就飞，起飞时先在地面快跑几步，然后腾空而起，飞至一定高度时，颈和脚分别向前后伸直，两翅扇动有力，飞行轻快。迁徙：春季于3月下旬开始陆续到达繁殖地，一直持续到4月末。秋季于9月末开始离开繁殖地迁往越冬地，一直持续到11月初至11月中旬。迁徙时成家族群或由数个家族群组成的小群迁飞。'}, {'id': 34, 'animal_name': '丹顶鹤', 'animal_latin_name': 'Grus japonensis', '科': ' 鹤科 ', '属': ' 鹤属', '门': '脊索动物门', '纲': '鸟纲', '目': ' 鹤形目 ', '种': None, '保护等级': None, 'permission': 3, 'create_time': datetime.datetime(2024, 11, 22, 14, 51, 51), 'update_time': datetime.datetime(2024, 12, 27, 13, 29, 20), '详情描述': '体型较大，头部呈红色，羽毛白色；分布在中国东北、俄罗斯远东和日本等地区。'}]","sources":[{"content":"[{'id': 10, 'animal_name': '白枕鹤', 'animal_latin_name': 'Grus japonensis', '科': ' 鹤科 ', '属': ' 鹤属', '门': '脊索动物门', '纲': '鸟纲', '目': ' 鹤形目 ', '种': None, '保护等级': '一级', 'permission': 3, 'create_time': datetime.datetime(2024, 11, 22, 9, 26, 31), 'update_time': datetime.datetime(2024, 12, 27, 13, 29, 11), '详情描述': '白枕鹤又叫红脸鹤、红面鹤，是大型涉禽。虹膜暗褐色，嘴黄绿色，脚红色。前额、头顶前部、眼先、头的侧部以及眼睛周围的皮肤裸出，均为鲜红色，其上着生有稀疏的黑色绒毛状羽。耳羽为烟灰色。头顶的后部、枕部、后颈、颈侧和前颈的上部形成一条暗灰色条纹，颊部和喉部为白色。颈侧和前颈的下部以及下体呈暗石板灰色。上体为石板灰色。尾羽为暗灰色，末端具有宽阔的黑色横斑。翅膀上的初级飞羽为黑褐色，具有白色的羽干纹，次级飞羽也是黑褐色，基部白色，三级飞羽为淡灰白色，延长成弓状，翅膀上的覆羽为灰白色，初级覆羽黑色，末端白色。大小量度：体重♂4750-5120克，♀5150-6500克；体长♂1200毫米，♀1180-1500毫米；嘴峰♂128-155毫米，♀128-153毫米；翅♂510-585毫米，♀521-568毫米；尾♂181毫米，♀195-202毫米；跗蹠♂242-262毫米，♀230-265毫米。\\n白枕鹤栖息于开阔的平原芦苇沼泽和水草沼泽地带，也栖息于开阔的河流及湖泊岸边，以及邻近的沼泽草地，有时出现于农田和海湾地区，尤其是迁徙季节。\\n食性：白枕鹤主要以植物种子、草根、嫩叶、嫩芽、谷粒、鱼、蛙、蜥蜴、蝌蚪、虾、软体动物和昆虫等为食。取食时主要用喙啄食，或用喙先拨开表层土壤，然后啄食埋藏在下面的种子和根茎，边走边啄食。白天多数时间用于觅食，非常警觉，通常在啄食几次后就抬头观望四周，一有惊扰，则立刻避开或飞走。\\n习性：除繁殖期成对活动外，多成家族群或小群活动，偶尔也见单独活动的，迁徙和越冬期间则多由数个或10多个家庭群组成的大群活动。行动机警，很远见人就飞，起飞时先在地面快跑几步，然后腾空而起，飞至一定高度时，颈和脚分别向前后伸直，两翅扇动有力，飞行轻快。迁徙：春季于3月下旬开始陆续到达繁殖地，一直持续到4月末。秋季于9月末开始离开繁殖地迁往越冬地，一直持续到11月初至11月中旬。迁徙时成家族群或由数个家族群组成的小群迁飞。'}, {'id': 34, 'animal_name': '丹顶鹤', 'animal_latin_name': 'Grus japonensis', '科': ' 鹤科 ', '属': ' 鹤属', '门': '脊索动物门', '纲': '鸟纲', '目': ' 鹤形目 ', '种': None, '保护等级': None, 'permission': 3, 'create_time': datetime.datetime(2024, 11, 22, 14, 51, 51), 'update_time': datetime.datetime(2024, 12, 27, 13, 29, 20), '详情描述': '体型较大，头部呈红色，羽毛白色；分布在中国东北、俄罗斯远东和日本等地区。'}]","tool_name":"query_mysql","raw_input":{"args":["SELECT \n    a.id,\n    a.animal_name,\n    a.animal_latin_name,\n    a.animal_branch AS '科',\n    a.animal_field AS '属',\n    a.animal_gate AS '门',\n    a.animal_class AS '纲',\n    a.animal_order AS '目',\n    a.animal_type AS '种',\n    CASE a.animal_level\n        WHEN 1 THEN '极危'\n        WHEN 2 THEN '濒危'\n        WHEN 3 THEN '易危'\n        WHEN 4 THEN '近危'\n        WHEN 5 THEN '无危'\n        WHEN 6 THEN '一级'\n        WHEN 7 THEN '二级'\n    END AS '保护等级',\n    a.permission,\n    a.create_time,\n    a.update_time,\n    c.content AS '详情描述'\nFROM \n    t_animal a\nLEFT JOIN \n    t_animal_content c ON a.id = c.animal_id\nWHERE \n    a.animal_name = '丹顶鹤'\n    OR a.animal_latin_name LIKE '%Grus japonensis%';"],"kwargs":{}},"raw_output":[{"id":10,"animal_name":"白枕鹤","animal_latin_name":"Grus japonensis","科":" 鹤科 ","属":" 鹤属","门":"脊索动物门","纲":"鸟纲","目":" 鹤形目 ","种":None,"保护等级":"一级","permission":3,"create_time":"2024-11-22T09:26:31","update_time":"2024-12-27T13:29:11","详情描述":"白枕鹤又叫红脸鹤、红面鹤，是大型涉禽。虹膜暗褐色，嘴黄绿色，脚红色。前额、头顶前部、眼先、头的侧部以及眼睛周围的皮肤裸出，均为鲜红色，其上着生有稀疏的黑色绒毛状羽。耳羽为烟灰色。头顶的后部、枕部、后颈、颈侧和前颈的上部形成一条暗灰色条纹，颊部和喉部为白色。颈侧和前颈的下部以及下体呈暗石板灰色。上体为石板灰色。尾羽为暗灰色，末端具有宽阔的黑色横斑。翅膀上的初级飞羽为黑褐色，具有白色的羽干纹，次级飞羽也是黑褐色，基部白色，三级飞羽为淡灰白色，延长成弓状，翅膀上的覆羽为灰白色，初级覆羽黑色，末端白色。大小量度：体重♂4750-5120克，♀5150-6500克；体长♂1200毫米，♀1180-1500毫米；嘴峰♂128-155毫米，♀128-153毫米；翅♂510-585毫米，♀521-568毫米；尾♂181毫米，♀195-202毫米；跗蹠♂242-262毫米，♀230-265毫米。\n白枕鹤栖息于开阔的平原芦苇沼泽和水草沼泽地带，也栖息于开阔的河流及湖泊岸边，以及邻近的沼泽草地，有时出现于农田和海湾地区，尤其是迁徙季节。\n食性：白枕鹤主要以植物种子、草根、嫩叶、嫩芽、谷粒、鱼、蛙、蜥蜴、蝌蚪、虾、软体动物和昆虫等为食。取食时主要用喙啄食，或用喙先拨开表层土壤，然后啄食埋藏在下面的种子和根茎，边走边啄食。白天多数时间用于觅食，非常警觉，通常在啄食几次后就抬头观望四周，一有惊扰，则立刻避开或飞走。\n习性：除繁殖期成对活动外，多成家族群或小群活动，偶尔也见单独活动的，迁徙和越冬期间则多由数个或10多个家庭群组成的大群活动。行动机警，很远见人就飞，起飞时先在地面快跑几步，然后腾空而起，飞至一定高度时，颈和脚分别向前后伸直，两翅扇动有力，飞行轻快。迁徙：春季于3月下旬开始陆续到达繁殖地，一直持续到4月末。秋季于9月末开始离开繁殖地迁往越冬地，一直持续到11月初至11月中旬。迁徙时成家族群或由数个家族群组成的小群迁飞。"},{"id":34,"animal_name":"丹顶鹤","animal_latin_name":"Grus japonensis","科":" 鹤科 ","属":" 鹤属","门":"脊索动物门","纲":"鸟纲","目":" 鹤形目 ","种":None,"保护等级":None,"permission":3,"create_time":"2024-11-22T14:51:51","update_time":"2024-12-27T13:29:20","详情描述":"体型较大，头部呈红色，羽毛白色；分布在中国东北、俄罗斯远东和日本等地区。"}],"is_error":False}],"source_nodes":[],"is_dummy_stream":False,"metadata":None}]}

# # 转换为标准JSON
# standard_json = convert_to_standard_json(input_data)
# print(standard_json)